Tunneling protocols may be used to secure data traffic over unsecure networks and/or to carry data traffic over an incompatible network. Virtual private networks (VPNs) may use tunneling protocols to secure communication between different locations to make the different network locations appear to be on the same network. Traditional embodiments of tunnels have utilized a single port of a single network card for communication between different network locations that span an unsecure network. However, a single port may have limited bandwidth and therefore limit the amount of data that can be transferred by the virtual tunnel. Conventional embodiments aggregate several physical Ethernet links (e.g. layer one links) to create a single logical Ethernet link. This allows the use of multiple data ports by a single virtual tunnel for the purpose of overcoming the bandwidth limits of a single data port. The use of multiple data ports allows for an increase in bandwidth of the virtual tunnel. For example, virtual tunnels that use four 10 Gbit/s ports may have a data transfer rate of 40 Gbit/s as opposed to a tunnel that uses a single port that has a 10 Gbit/s data transfer rate.
Additional data transfer limitations may be encountered when encryption of data packets is required to transfer data through tunnels that traverse networks. This encryption engine data transfer limitation is becoming common in networks due to the increased use of VPNs that require encryption by processors associated with network switches. Additionally, as computing power increases, the complexity of encryption processes increases to prevent code breaking by faster code breaking computers. For example, encryption software that once required a 40 bit encryption key may now require a key in the thousands of bits. Longer keys prevent modern code breaking computers from compromising the encryption. These longer keys increase the load on the processors associated with network switches.
The data packets that travel through a port and its associated network switch may be processed by a processor(s) of limited speed. Processor(s) associated with network switches may not encrypt and/or decrypt at the data transfer rate of the port. For example, a port may have a 10 Gbit/s transfer rate but the processor of the card may only be able to encrypt or decrypt data traffic at 1 Gbit/s. Therefore, the encryption and decryption speeds of a network switch may become a bottleneck on the data transferred through a virtual tunnel.